package ar.edu.itba.it.paw.dao;

import java.util.List;
import java.util.Map;

import ar.edu.itba.it.paw.domain.Category;
import ar.edu.itba.it.paw.domain.OrderProducts;
import ar.edu.itba.it.paw.domain.Product;
import ar.edu.itba.it.paw.domain.Transaction;

public interface ProductDAO {

	public List<Product> getAllProducts(OrderProducts order);
	
	public List<Product> getProductsByCategory(Category category);
	
	public List<Product> getVisitedProducts();
	
	public void addProduct(Product product);
	
	public void editProduct(Product product);
	
	public void visitProduct(Product product);
	
	public void addTransaction(Transaction transaction);
	
	public Product getProduct(int product_id);
	
	public void deleteProduct(Product product);
	
	public void buy(Transaction transaction);
	
	public List<Transaction> getTransactionByCategory(Category category);
	
	public Map<Category,Integer> countTransactionByCategory();
	
}
